#ifndef M_SOCKET_H
#define M_SOCKET_H
///
/// 此类用来封装Socket,并保存Socket一些信息
///
///
///
#include <enum_type.h>
#include <QString>
#include <local_socket.h>
#include <tcp_socket.h>
#include <QTime>
#include <QSharedPointer>
#include <QReadWriteLock>
class M_Socket
{
public:
    M_Socket();
    Socket_type Stype;                                             //socket类型      tcp还是local
    QString Socket_name;                                           //socket名称
    QTime   LastTime;                                              //上次通信时间
    QString Socket_Type;                                           //socket职责
    QReadWriteLock   lock;                                         //信息读写锁
    QList<CaculateNode_status> Caculate_status;                    //计算节点空闲状态
    QStringList task_id;                                           //记录当前计算机正在计算哪些任务
    bool        Is_DllComplete=false;                              //DLL是否完整
    QString     cpu_cout="";                                       //cpu数量
    QString     Memory_usage="";                                   //内存使用率
    QString     Memory_size="";                                    //内存大小
    QString     Residual_memory="";                                //剩余内存
    tcp_socket *t_socket=NULL;
    local_socket *l_socket=NULL;

};

#endif // M_SOCKET_H
